﻿/******************************************************************************
 *      Class:      WeatherDataPoint
 *      Authors:    Michael Slezak, Samuel Harrington
 *      
 * ----------------------------------------------------------------------------
 * 
 *      Description:
 *          This is a single point of data from the data files
 *          
 ******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
//   INCLUDES
////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WeatherStationProgram
{
    public class WeatherDataPoint
    {
        // The values
        public float temperature { get; set; }
        public float humidity { get; set; }
        public float barometer { get; set; }
        public float windSpeed { get; set; }
        public float windGust { get; set; }
        public float windChill { get; set; }
        public float heatIndex { get; set; }
        public float uvIndex { get; set; }
        public float rainfall { get; set; }
        public WindDirection windDirection { get; set; }

        // adapt wind direction to int
        public int windDirectionInt
        {
            get
            {
                return (int)windDirection;
            }
            set
            {
                windDirection = (WindDirection)value;
            }
        }

        // the date of the data point
        public DateTime date { get; set; }

        // the list of properties available
        public enum Members
        {
            temperature = 0,
            humidity,
            barometer,
            windSpeed,
            windGust,
            windChill,
            heatIndex,
            uvIndex,
            rainfall,
            windDirectionInt,
            windDirection
        }

        // The wind directions available
        public enum WindDirection
        {
            N,
            NNE,
            NE,
            ENE,
            E,
            ESE,
            SE,
            SSE,
            S,
            SSW,
            SW,
            WSW,
            W,
            WNW,
            NW,
            NNW
        }

    }       
}
